home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / engrave / engrave_program.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  4KB  |  100 lines

  1. #ifndef ENGRAVE_PROGRAM_H
  2. #define ENGRAVE_PROGRAM_H
  3.  
  4. /**
  5.  * @file engrave_program.h Engrave_Program object functions.
  6.  * @brief Contains all of the functions to mainuplulate Engrave_Program objects.
  7.  */
  8.  
  9. /**
  10.  * @defgroup Engrave_Program Engrave_Program: Functions to work with Engrave_Program objects.
  11.  *
  12.  * @{
  13.  */
  14.  
  15. /**
  16.  * The Engrave_Program typedef.
  17.  */
  18. typedef struct _Engrave_Program Engrave_Program;
  19.  
  20. /**
  21.  * Contains all the info to define a program
  22.  */
  23. struct _Engrave_Program 
  24. {
  25.   char *name;           /**< The program name */
  26.   char *signal;         /**< The signal to act on */
  27.   char *source;         /**< The souce to act on */
  28.   Evas_List *targets;   /**< The list of targets */
  29.   Evas_List *afters;    /**< The list of afters */
  30.  
  31.   /**
  32.    * Stores the in settings for the program 
  33.    */
  34.   struct {
  35.     double from;    /**< The from in setting */
  36.     double range;   /**< The range in setting */
  37.   } in;
  38.   
  39.   Engrave_Action action;    /**< The action assocated with the program */
  40.   char *state;              /**< The state setting for the action */
  41.   char *state2;             /**< The state2 setting for the action */
  42.   double value;             /**< The value setting for the action */
  43.   double value2;            /**< The value2 setting for the action */
  44.  
  45.   Engrave_Transition transition;    /**< The transition type of the program */
  46.   double duration;                  /**< The duration of the transition */
  47.  
  48.   char *script;             /**< The script associated with the program */
  49.  
  50.   void *parent;    /**< Pointer to parent */
  51. };
  52.  
  53. Engrave_Program *engrave_program_new(void);
  54. void engrave_program_free(Engrave_Program *ep);
  55.  
  56. void engrave_program_parent_set(Engrave_Program *ep, void *eg);
  57. void *engrave_program_parent_get(Engrave_Program *ep);
  58.  
  59. void engrave_program_script_set(Engrave_Program *ep, const char *script);
  60. void engrave_program_name_set(Engrave_Program *ep, const char *name);
  61. void engrave_program_signal_set(Engrave_Program *ep, const char *signal);
  62. void engrave_program_source_set(Engrave_Program *ep, const char *source);
  63. void engrave_program_target_add(Engrave_Program *ep, const char *target);
  64. void engrave_program_after_add(Engrave_Program *ep, const char *after);
  65. void engrave_program_in_set(Engrave_Program *ep, double from, double range);
  66. void engrave_program_action_set(Engrave_Program *ep, Engrave_Action action,
  67.                                                 const char *state, 
  68.                                                 const char *state2,
  69.                                                 double value, double value2);
  70. void engrave_program_transition_set(Engrave_Program *ep,
  71.                                 Engrave_Transition trans, double duration);
  72.  
  73. const char *engrave_program_name_get(Engrave_Program *ep);
  74. const char *engrave_program_signal_get(Engrave_Program *ep);
  75. const char *engrave_program_source_get(Engrave_Program *ep);
  76. void engrave_program_action_get(Engrave_Program *ep, Engrave_Action *action,
  77.                                     char *state, char *state2, 
  78.                                     int state_len, int state2_len,
  79.                                     double *value, double *value2);
  80. void engrave_program_transition_get(Engrave_Program *ep, 
  81.                                     Engrave_Transition *trans, double *duration);
  82. const char *engrave_program_script_get(Engrave_Program *ep);
  83. void engrave_program_in_get(Engrave_Program *ep, double *from, double *range);
  84.  
  85. int engrave_program_afters_count(Engrave_Program *ep);
  86. int engrave_program_targets_count(Engrave_Program *ep);
  87.  
  88. void engrave_program_target_foreach(Engrave_Program *ep,
  89.                                 void (*func)(const char *, void *), void *data);
  90. void engrave_program_after_foreach(Engrave_Program *ep,
  91.                                 void (*func)(const char *, void *), void *data);
  92.  
  93.  
  94. /**
  95.  * @}
  96.  */
  97.  
  98. #endif
  99.  
  100.